package org.facilscrum.persistencia;

import org.facilscrum.beans.Issues;
import java.sql.Date; 
import org.facilscrum.beans.*;
import org.facilscrum.controller.*;
import java.io.Serializable;
import java.util.List;
import java.util.ArrayList;
import java.util.*;
import java.sql.Connection;
import java.sql.Statement;
import java.sql.ResultSet;
import java.sql.PreparedStatement;
import java.util.Map;
import java.util.Iterator;
import java.util.HashMap;
import java.util.Map;
 import javax.sql.DataSource;
import org.facilscrum.generales.Mensajeria;
import org.facilscrum.generales.DataGManager;


/**
*
* @author
*/

public class IssuesPersistencia implements Serializable {
private static final long serialVersionUID = 1L;
public static Exception excepcion;
public static boolean esMensaje = false;
public static Connection con = null;
public static java.util.ResourceBundle bundle = java.util.ResourceBundle.getBundle("org/facilscrum/properties/mensajes");
static DataGManager dataGManager;
static List<Issues> list;

public IssuesPersistencia(){
         esMensaje =false;
}



/**
*
* insert()
*/

public static boolean insert (Issues issues ) {
  excepcion = null;
  try {
      esMensaje =false;

  con= dataGManager.getCon();
  if (con == null) {
      excepcion=new Exception(bundle.getString("msg.noconecction"));
      return false;
  }
      PreparedStatement pinsert = null;
      String sql = "insert into issues(idproyecto,numero,titulo,descripcion,idtipo,idprioridad,fecha,hora,username,idestatus,usernameasignado)  values(?,?,?,?,?,?,?,?,?,?,?)";
      pinsert = con.prepareStatement(sql);
              pinsert.setInt(1,issues.getIdproyecto());
        pinsert.setInt(2,issues.getNumero());
        pinsert.setString(3,issues.getTitulo());
        pinsert.setString(4,issues.getDescripcion());
        pinsert.setString(5,issues.getIdtipo());
        pinsert.setString(6,issues.getIdprioridad());
        pinsert.setDate(7,issues.getFecha());
        pinsert.setString(8,issues.getHora());
        pinsert.setString(9,issues.getUsername());
        pinsert.setString(10,issues.getIdestatus());
        pinsert.setString(11,issues.getUsernameasignado());
      int filas= pinsert.executeUpdate();
      pinsert.close();
      return true;
   } catch (Exception e) {
      excepcion = e;
   } finally {
  }
  return false;
 }


/**
*
* update()
*/

public static boolean update(Issues issues ) {
  excepcion = null;
  try {
      esMensaje =false;

  con= dataGManager.getCon();
  if (con == null) {
      excepcion=new Exception(bundle.getString("msg.noconecction"));
      return false;
  }
      PreparedStatement pupdate = null;
      String sql = "update issues set  idproyecto=?, numero=?, titulo=?, descripcion=?, idtipo=?, idprioridad=?, fecha=?, hora=?, username=?, idestatus=?, usernameasignado=?  where  idissues ='"+issues.getIdissues()+"'  ";
      pupdate= con.prepareStatement(sql);
      pupdate.setInt(1,issues.getIdproyecto());
pupdate.setInt(2,issues.getNumero());
pupdate.setString(3,issues.getTitulo());
pupdate.setString(4,issues.getDescripcion());
pupdate.setString(5,issues.getIdtipo());
pupdate.setString(6,issues.getIdprioridad());
pupdate.setDate(7,issues.getFecha());
pupdate.setString(8,issues.getHora());
pupdate.setString(9,issues.getUsername());
pupdate.setString(10,issues.getIdestatus());
pupdate.setString(11,issues.getUsernameasignado());
      int filas= pupdate.executeUpdate();
      pupdate.close();
      if (filas <= 0){
          excepcion=new Exception(bundle.getString("msg.noupdate"));
          esMensaje =true;
          return false;
      }
      return true;
   } catch (Exception e) {
      excepcion = e;
   } finally {
  }
  return false;
}


/**
*
* update()
*/

public static boolean update(String sqlupdate ) {
  excepcion = null;
  try {
      esMensaje =false;

  con= dataGManager.getCon();
  if (con == null) {
      excepcion=new Exception(bundle.getString("msg.noconecction"));
      return false;
  }
      PreparedStatement pupdate = null;
      String sql = "update  issues set " + sqlupdate +"";
      pupdate= con.prepareStatement(sql);
      int filas= pupdate.executeUpdate();
      pupdate.close();
      if (filas <= 0){
          excepcion=new Exception(bundle.getString("msg.noupdate"));
          esMensaje =true;
          return false;
      }
      return true;
   } catch (Exception e) {
      excepcion = e;
   } finally {
  }
  return false;
}


/**
*
* updatePrimaryKey()
*/

public static boolean updatePrimaryKey(Issues issues_old , Issues issues) {
  excepcion = null;
  try {
      esMensaje =false;

  con= dataGManager.getCon();
  if (con == null) {
      excepcion=new Exception(bundle.getString("msg.noconecction"));
      return false;
  }
      PreparedStatement pupdate = null;
      String sql = "update issues set  idissues=?  where  idissues ='"+issues_old.getIdissues()+"'  ";
      pupdate= con.prepareStatement(sql);
      pupdate.setInt(0,issues.getIdissues());
      int filas= pupdate.executeUpdate();
      pupdate.close();
      if (filas <= 0){
          excepcion=new Exception(bundle.getString("msg.noupdate"));
          esMensaje =true;
          return false;
      }
      return true;
   } catch (Exception e) {
      excepcion = e;
   } finally {
  }
  return false;
}


/**
*
* delete()
*/

public static boolean delete(Issues issues ) {
  excepcion = null;
  try {
      esMensaje =false;

  con= dataGManager.getCon();
  if (con == null) {
      excepcion=new Exception(bundle.getString("msg.noconecction"));
      return false;
  }
      PreparedStatement pdelete = null;
      String sql = "delete from issues  where  idissues = ?  ";
      pdelete= con.prepareStatement(sql);
      pdelete.setInt(1,issues.getIdissues());
      int filas= pdelete.executeUpdate();
      pdelete.close();
      if (filas <= 0){
          excepcion=new Exception(bundle.getString("msg.nodelete"));
          esMensaje =true;
          return false;
      }
      return true;
   } catch (Exception e) {
      excepcion = e;
   } finally {
  }
  return false;
}


/**
*
* delete()
*/

public static boolean delete(String sqldelete ) {
  excepcion = null;
  try {
      esMensaje =false;

  con= dataGManager.getCon();
  if (con == null) {
      excepcion=new Exception(bundle.getString("msg.noconecction"));
      return false;
  }
      PreparedStatement pdelete = null;
      String sql = "delete from issues where " + sqldelete +"";
      pdelete= con.prepareStatement(sql);
      int filas= pdelete.executeUpdate();
      pdelete.close();
      if (filas <= 0){
          excepcion=new Exception(bundle.getString("msg.nodelete"));
          esMensaje =true;
          return false;
      }
      return true;
   } catch (Exception e) {
      excepcion = e;
   } finally {
  }
  return false;
}


/**
*
* deleteAll()
*/

public static boolean deleteAll() {
  excepcion = null;
  try {
      esMensaje =false;

  con= dataGManager.getCon();
  if (con == null) {
      excepcion=new Exception(bundle.getString("msg.noconecction"));
      return false;
  }
      PreparedStatement pdelete = null;
      String sql = "delete from issues  ";
      pdelete= con.prepareStatement(sql);
      int filas= pdelete.executeUpdate();
      pdelete.close();
      if (filas <= 0){
          excepcion=new Exception(bundle.getString("msg.nodeleteall"));
          esMensaje =true;
          return false;
      }
      return true;
   } catch (Exception e) {
      excepcion = e;
   } finally {
  }
  return false;
}


/**
*
* exists()
*/



public static boolean exists(Issues issues) {
  excepcion = null;
  try {
      esMensaje =false;

  con= dataGManager.getCon();
  if (con == null) {
      excepcion=new Exception(bundle.getString("msg.noconecction"));
      return false;
  }
      String sql = "select * from issues where idissues='"+issues.getIdissues()+"'";
  PreparedStatement psquery = con.prepareStatement(sql,ResultSet.TYPE_SCROLL_INSENSITIVE,
                                      ResultSet.CONCUR_UPDATABLE);
   ResultSet rs = psquery.executeQuery();
   rs.next();
   int x = rs.getRow();
   if (x == 0) {
          excepcion=new Exception(bundle.getString("msg.nofoundrecords") + "issues" +" " + bundle.getString("msg.withcode"));
          esMensaje =true;
      rs.close();
      psquery.close();
      return false;
   }
    rs.close();
    psquery.close();
 return true;
   } catch (Exception e) {
      excepcion = e;
   } finally {
  }
  return false;
}


/**
*
* findByPrimaryKey()
*/



public static Issues findByPrimaryKey(Issues issues) {
  excepcion = null;
  try {
      esMensaje =false;

  con= dataGManager.getCon();
  if (con == null) {
      excepcion=new Exception(bundle.getString("msg.noconecction"));
      return null;
  }
      String sql = "select * from issues where idissues='"+issues.getIdissues()+"'";
  PreparedStatement psquery = con.prepareStatement(sql,ResultSet.TYPE_SCROLL_INSENSITIVE,
                                      ResultSet.CONCUR_UPDATABLE);
   ResultSet rs = psquery.executeQuery();
   rs.next();
   int x = rs.getRow();
   if (x == 0) {
          excepcion=new Exception(bundle.getString("msg.nofoundrecords") + "issues" +"  "+ bundle.getString("msg.withcode"));
          esMensaje =true;
      rs.close();
      psquery.close();
      return null;
   }
   rs.beforeFirst();
   while (rs.next()) {
   
Estatus estatus = new Estatus();
Estatus estatus2 = new Estatus();
EstatusController estatusController = new EstatusController();
Prioridad prioridad = new Prioridad();
Prioridad prioridad2 = new Prioridad();
PrioridadController prioridadController = new PrioridadController();
Proyectos proyectos = new Proyectos();
Proyectos proyectos2 = new Proyectos();
ProyectosController proyectosController = new ProyectosController();
Tipo tipo = new Tipo();
Tipo tipo2 = new Tipo();
TipoController tipoController = new TipoController();
Usuarios usuarios = new Usuarios();
Usuarios usuarios2 = new Usuarios();
UsuariosController usuariosController = new UsuariosController();
            
    estatus.setIdestatus(rs.getString("idestatus"));
    prioridad.setIdprioridad(rs.getString("idprioridad"));
    proyectos.setIdproyecto(rs.getInt("idproyecto"));
    tipo.setIdtipo(rs.getString("idtipo"));
    usuarios.setUsername(rs.getString("username"));
            
   estatus2 =  estatusController.findByPrimaryKey(estatus);
   if (estatus2== null) {
       //no existe registro con ese codigo 
   } else {
   estatus= estatus2;
   issues.setEstatus(estatus);
     }
   prioridad2 =  prioridadController.findByPrimaryKey(prioridad);
   if (prioridad2== null) {
       //no existe registro con ese codigo 
   } else {
   prioridad= prioridad2;
   issues.setPrioridad(prioridad);
     }
   proyectos2 =  proyectosController.findByPrimaryKey(proyectos);
   if (proyectos2== null) {
       //no existe registro con ese codigo 
   } else {
   proyectos= proyectos2;
   issues.setProyectos(proyectos);
     }
   tipo2 =  tipoController.findByPrimaryKey(tipo);
   if (tipo2== null) {
       //no existe registro con ese codigo 
   } else {
   tipo= tipo2;
   issues.setTipo(tipo);
     }
   usuarios2 =  usuariosController.findByPrimaryKey(usuarios);
   if (usuarios2== null) {
       //no existe registro con ese codigo 
   } else {
   usuarios= usuarios2;
   issues.setUsuarios(usuarios);
     }
            issues.setIdissues(rs.getInt("idissues"));
issues.setIdproyecto(rs.getInt("idproyecto"));
issues.setNumero(rs.getInt("numero"));
issues.setTitulo(rs.getString("titulo"));
issues.setDescripcion(rs.getString("descripcion"));
issues.setIdtipo(rs.getString("idtipo"));
issues.setIdprioridad(rs.getString("idprioridad"));
issues.setFecha(rs.getDate("fecha"));
issues.setHora(rs.getString("hora"));
issues.setUsername(rs.getString("username"));
issues.setIdestatus(rs.getString("idestatus"));
issues.setUsernameasignado(rs.getString("usernameasignado"));
    }
    rs.close();
    psquery.close();
 return issues;
   } catch (Exception e) {
      excepcion = e;
   } finally {
  }
  return null;
}


/**
*
* findByIdissues()
*/

public static List<Issues> findByIdissues(Issues issues,boolean withRelation) {
  excepcion = null;
  try {
      esMensaje =false;

  con= dataGManager.getCon();
  if (con == null) {
      excepcion=new Exception(bundle.getString("msg.noconecction"));
      return null;
  }
        list = new ArrayList<>();
      String sql = "select * from issues where idissues='"+issues.getIdissues()+"'";
  PreparedStatement psquery = con.prepareStatement(sql,ResultSet.TYPE_SCROLL_INSENSITIVE,
                                      ResultSet.CONCUR_UPDATABLE);
   ResultSet rs = psquery.executeQuery();
   rs.next();
   int x = rs.getRow();
   if (x == 0) {
          excepcion=new Exception(bundle.getString("msg.nofoundrecords") + "issues" +"  "+ bundle.getString("msg.withcode"));
          esMensaje =true;
      rs.close();
      psquery.close();
      return null;
   }
   rs.beforeFirst();
   while (rs.next()) {
   
Estatus estatus = new Estatus();
Estatus estatus2 = new Estatus();
EstatusController estatusController = new EstatusController();
Prioridad prioridad = new Prioridad();
Prioridad prioridad2 = new Prioridad();
PrioridadController prioridadController = new PrioridadController();
Proyectos proyectos = new Proyectos();
Proyectos proyectos2 = new Proyectos();
ProyectosController proyectosController = new ProyectosController();
Tipo tipo = new Tipo();
Tipo tipo2 = new Tipo();
TipoController tipoController = new TipoController();
Usuarios usuarios = new Usuarios();
Usuarios usuarios2 = new Usuarios();
UsuariosController usuariosController = new UsuariosController();
        Issues issues2 = new Issues(
         rs.getInt("idissues"),rs.getInt("idproyecto"),rs.getInt("numero"),rs.getString("titulo"),rs.getString("descripcion"),rs.getString("idtipo"),rs.getString("idprioridad"),rs.getDate("fecha"),rs.getString("hora"),rs.getString("username"),rs.getString("idestatus"),rs.getString("usernameasignado"));
            
    estatus.setIdestatus(rs.getString("idestatus"));
    prioridad.setIdprioridad(rs.getString("idprioridad"));
    proyectos.setIdproyecto(rs.getInt("idproyecto"));
    tipo.setIdtipo(rs.getString("idtipo"));
    usuarios.setUsername(rs.getString("username"));
            
  if(withRelation){
     estatus2 =  estatusController.findByPrimaryKey(estatus);
     if (estatus2== null) {
       //not found records 
     } else {
     estatus= estatus2;
     issues2.setEstatus(estatus);
       }
   }
  if(withRelation){
     prioridad2 =  prioridadController.findByPrimaryKey(prioridad);
     if (prioridad2== null) {
       //not found records 
     } else {
     prioridad= prioridad2;
     issues2.setPrioridad(prioridad);
       }
   }
  if(withRelation){
     proyectos2 =  proyectosController.findByPrimaryKey(proyectos);
     if (proyectos2== null) {
       //not found records 
     } else {
     proyectos= proyectos2;
     issues2.setProyectos(proyectos);
       }
   }
  if(withRelation){
     tipo2 =  tipoController.findByPrimaryKey(tipo);
     if (tipo2== null) {
       //not found records 
     } else {
     tipo= tipo2;
     issues2.setTipo(tipo);
       }
   }
  if(withRelation){
     usuarios2 =  usuariosController.findByPrimaryKey(usuarios);
     if (usuarios2== null) {
       //not found records 
     } else {
     usuarios= usuarios2;
     issues2.setUsuarios(usuarios);
       }
   }
       list.add(issues2);
    }
    rs.close();
    psquery.close();
    return list;
   } catch (Exception e) {
      excepcion = e;
   } finally {
  }
  return null;
}


/**
*
* findByIdproyecto()
*/

public static List<Issues> findByIdproyecto(Issues issues,boolean withRelation) {
  excepcion = null;
  try {
      esMensaje =false;

  con= dataGManager.getCon();
  if (con == null) {
      excepcion=new Exception(bundle.getString("msg.noconecction"));
      return null;
  }
        list = new ArrayList<>();
      String sql = "select * from issues where idproyecto='"+issues.getIdproyecto()+"'";
  PreparedStatement psquery = con.prepareStatement(sql,ResultSet.TYPE_SCROLL_INSENSITIVE,
                                      ResultSet.CONCUR_UPDATABLE);
   ResultSet rs = psquery.executeQuery();
   rs.next();
   int x = rs.getRow();
   if (x == 0) {
          excepcion=new Exception(bundle.getString("msg.nofoundrecords") + "issues" +"  "+ bundle.getString("msg.withcode"));
          esMensaje =true;
      rs.close();
      psquery.close();
      return null;
   }
   rs.beforeFirst();
   while (rs.next()) {
   
Estatus estatus = new Estatus();
Estatus estatus2 = new Estatus();
EstatusController estatusController = new EstatusController();
Prioridad prioridad = new Prioridad();
Prioridad prioridad2 = new Prioridad();
PrioridadController prioridadController = new PrioridadController();
Proyectos proyectos = new Proyectos();
Proyectos proyectos2 = new Proyectos();
ProyectosController proyectosController = new ProyectosController();
Tipo tipo = new Tipo();
Tipo tipo2 = new Tipo();
TipoController tipoController = new TipoController();
Usuarios usuarios = new Usuarios();
Usuarios usuarios2 = new Usuarios();
UsuariosController usuariosController = new UsuariosController();
        Issues issues2 = new Issues(
         rs.getInt("idissues"),rs.getInt("idproyecto"),rs.getInt("numero"),rs.getString("titulo"),rs.getString("descripcion"),rs.getString("idtipo"),rs.getString("idprioridad"),rs.getDate("fecha"),rs.getString("hora"),rs.getString("username"),rs.getString("idestatus"),rs.getString("usernameasignado"));
            
    estatus.setIdestatus(rs.getString("idestatus"));
    prioridad.setIdprioridad(rs.getString("idprioridad"));
    proyectos.setIdproyecto(rs.getInt("idproyecto"));
    tipo.setIdtipo(rs.getString("idtipo"));
    usuarios.setUsername(rs.getString("username"));
            
  if(withRelation){
     estatus2 =  estatusController.findByPrimaryKey(estatus);
     if (estatus2== null) {
       //not found records 
     } else {
     estatus= estatus2;
     issues2.setEstatus(estatus);
       }
   }
  if(withRelation){
     prioridad2 =  prioridadController.findByPrimaryKey(prioridad);
     if (prioridad2== null) {
       //not found records 
     } else {
     prioridad= prioridad2;
     issues2.setPrioridad(prioridad);
       }
   }
  if(withRelation){
     proyectos2 =  proyectosController.findByPrimaryKey(proyectos);
     if (proyectos2== null) {
       //not found records 
     } else {
     proyectos= proyectos2;
     issues2.setProyectos(proyectos);
       }
   }
  if(withRelation){
     tipo2 =  tipoController.findByPrimaryKey(tipo);
     if (tipo2== null) {
       //not found records 
     } else {
     tipo= tipo2;
     issues2.setTipo(tipo);
       }
   }
  if(withRelation){
     usuarios2 =  usuariosController.findByPrimaryKey(usuarios);
     if (usuarios2== null) {
       //not found records 
     } else {
     usuarios= usuarios2;
     issues2.setUsuarios(usuarios);
       }
   }
       list.add(issues2);
    }
    rs.close();
    psquery.close();
    return list;
   } catch (Exception e) {
      excepcion = e;
   } finally {
  }
  return null;
}


/**
*
* findByNumero()
*/

public static List<Issues> findByNumero(Issues issues,boolean withRelation) {
  excepcion = null;
  try {
      esMensaje =false;

  con= dataGManager.getCon();
  if (con == null) {
      excepcion=new Exception(bundle.getString("msg.noconecction"));
      return null;
  }
        list = new ArrayList<>();
      String sql = "select * from issues where numero='"+issues.getNumero()+"'";
  PreparedStatement psquery = con.prepareStatement(sql,ResultSet.TYPE_SCROLL_INSENSITIVE,
                                      ResultSet.CONCUR_UPDATABLE);
   ResultSet rs = psquery.executeQuery();
   rs.next();
   int x = rs.getRow();
   if (x == 0) {
          excepcion=new Exception(bundle.getString("msg.nofoundrecords") + "issues" +"  "+ bundle.getString("msg.withcode"));
          esMensaje =true;
      rs.close();
      psquery.close();
      return null;
   }
   rs.beforeFirst();
   while (rs.next()) {
   
Estatus estatus = new Estatus();
Estatus estatus2 = new Estatus();
EstatusController estatusController = new EstatusController();
Prioridad prioridad = new Prioridad();
Prioridad prioridad2 = new Prioridad();
PrioridadController prioridadController = new PrioridadController();
Proyectos proyectos = new Proyectos();
Proyectos proyectos2 = new Proyectos();
ProyectosController proyectosController = new ProyectosController();
Tipo tipo = new Tipo();
Tipo tipo2 = new Tipo();
TipoController tipoController = new TipoController();
Usuarios usuarios = new Usuarios();
Usuarios usuarios2 = new Usuarios();
UsuariosController usuariosController = new UsuariosController();
        Issues issues2 = new Issues(
         rs.getInt("idissues"),rs.getInt("idproyecto"),rs.getInt("numero"),rs.getString("titulo"),rs.getString("descripcion"),rs.getString("idtipo"),rs.getString("idprioridad"),rs.getDate("fecha"),rs.getString("hora"),rs.getString("username"),rs.getString("idestatus"),rs.getString("usernameasignado"));
            
    estatus.setIdestatus(rs.getString("idestatus"));
    prioridad.setIdprioridad(rs.getString("idprioridad"));
    proyectos.setIdproyecto(rs.getInt("idproyecto"));
    tipo.setIdtipo(rs.getString("idtipo"));
    usuarios.setUsername(rs.getString("username"));
            
  if(withRelation){
     estatus2 =  estatusController.findByPrimaryKey(estatus);
     if (estatus2== null) {
       //not found records 
     } else {
     estatus= estatus2;
     issues2.setEstatus(estatus);
       }
   }
  if(withRelation){
     prioridad2 =  prioridadController.findByPrimaryKey(prioridad);
     if (prioridad2== null) {
       //not found records 
     } else {
     prioridad= prioridad2;
     issues2.setPrioridad(prioridad);
       }
   }
  if(withRelation){
     proyectos2 =  proyectosController.findByPrimaryKey(proyectos);
     if (proyectos2== null) {
       //not found records 
     } else {
     proyectos= proyectos2;
     issues2.setProyectos(proyectos);
       }
   }
  if(withRelation){
     tipo2 =  tipoController.findByPrimaryKey(tipo);
     if (tipo2== null) {
       //not found records 
     } else {
     tipo= tipo2;
     issues2.setTipo(tipo);
       }
   }
  if(withRelation){
     usuarios2 =  usuariosController.findByPrimaryKey(usuarios);
     if (usuarios2== null) {
       //not found records 
     } else {
     usuarios= usuarios2;
     issues2.setUsuarios(usuarios);
       }
   }
       list.add(issues2);
    }
    rs.close();
    psquery.close();
    return list;
   } catch (Exception e) {
      excepcion = e;
   } finally {
  }
  return null;
}


/**
*
* findByTitulo()
*/

public static List<Issues> findByTitulo(Issues issues,boolean withRelation) {
  excepcion = null;
  try {
      esMensaje =false;

  con= dataGManager.getCon();
  if (con == null) {
      excepcion=new Exception(bundle.getString("msg.noconecction"));
      return null;
  }
        list = new ArrayList<>();
      String sql = "select * from issues where titulo='"+issues.getTitulo()+"'";
  PreparedStatement psquery = con.prepareStatement(sql,ResultSet.TYPE_SCROLL_INSENSITIVE,
                                      ResultSet.CONCUR_UPDATABLE);
   ResultSet rs = psquery.executeQuery();
   rs.next();
   int x = rs.getRow();
   if (x == 0) {
          excepcion=new Exception(bundle.getString("msg.nofoundrecords") + "issues" +"  "+ bundle.getString("msg.withcode"));
          esMensaje =true;
      rs.close();
      psquery.close();
      return null;
   }
   rs.beforeFirst();
   while (rs.next()) {
   
Estatus estatus = new Estatus();
Estatus estatus2 = new Estatus();
EstatusController estatusController = new EstatusController();
Prioridad prioridad = new Prioridad();
Prioridad prioridad2 = new Prioridad();
PrioridadController prioridadController = new PrioridadController();
Proyectos proyectos = new Proyectos();
Proyectos proyectos2 = new Proyectos();
ProyectosController proyectosController = new ProyectosController();
Tipo tipo = new Tipo();
Tipo tipo2 = new Tipo();
TipoController tipoController = new TipoController();
Usuarios usuarios = new Usuarios();
Usuarios usuarios2 = new Usuarios();
UsuariosController usuariosController = new UsuariosController();
        Issues issues2 = new Issues(
         rs.getInt("idissues"),rs.getInt("idproyecto"),rs.getInt("numero"),rs.getString("titulo"),rs.getString("descripcion"),rs.getString("idtipo"),rs.getString("idprioridad"),rs.getDate("fecha"),rs.getString("hora"),rs.getString("username"),rs.getString("idestatus"),rs.getString("usernameasignado"));
            
    estatus.setIdestatus(rs.getString("idestatus"));
    prioridad.setIdprioridad(rs.getString("idprioridad"));
    proyectos.setIdproyecto(rs.getInt("idproyecto"));
    tipo.setIdtipo(rs.getString("idtipo"));
    usuarios.setUsername(rs.getString("username"));
            
  if(withRelation){
     estatus2 =  estatusController.findByPrimaryKey(estatus);
     if (estatus2== null) {
       //not found records 
     } else {
     estatus= estatus2;
     issues2.setEstatus(estatus);
       }
   }
  if(withRelation){
     prioridad2 =  prioridadController.findByPrimaryKey(prioridad);
     if (prioridad2== null) {
       //not found records 
     } else {
     prioridad= prioridad2;
     issues2.setPrioridad(prioridad);
       }
   }
  if(withRelation){
     proyectos2 =  proyectosController.findByPrimaryKey(proyectos);
     if (proyectos2== null) {
       //not found records 
     } else {
     proyectos= proyectos2;
     issues2.setProyectos(proyectos);
       }
   }
  if(withRelation){
     tipo2 =  tipoController.findByPrimaryKey(tipo);
     if (tipo2== null) {
       //not found records 
     } else {
     tipo= tipo2;
     issues2.setTipo(tipo);
       }
   }
  if(withRelation){
     usuarios2 =  usuariosController.findByPrimaryKey(usuarios);
     if (usuarios2== null) {
       //not found records 
     } else {
     usuarios= usuarios2;
     issues2.setUsuarios(usuarios);
       }
   }
       list.add(issues2);
    }
    rs.close();
    psquery.close();
    return list;
   } catch (Exception e) {
      excepcion = e;
   } finally {
  }
  return null;
}


/**
*
* findByDescripcion()
*/

public static List<Issues> findByDescripcion(Issues issues,boolean withRelation) {
  excepcion = null;
  try {
      esMensaje =false;

  con= dataGManager.getCon();
  if (con == null) {
      excepcion=new Exception(bundle.getString("msg.noconecction"));
      return null;
  }
        list = new ArrayList<>();
      String sql = "select * from issues where descripcion='"+issues.getDescripcion()+"'";
  PreparedStatement psquery = con.prepareStatement(sql,ResultSet.TYPE_SCROLL_INSENSITIVE,
                                      ResultSet.CONCUR_UPDATABLE);
   ResultSet rs = psquery.executeQuery();
   rs.next();
   int x = rs.getRow();
   if (x == 0) {
          excepcion=new Exception(bundle.getString("msg.nofoundrecords") + "issues" +"  "+ bundle.getString("msg.withcode"));
          esMensaje =true;
      rs.close();
      psquery.close();
      return null;
   }
   rs.beforeFirst();
   while (rs.next()) {
   
Estatus estatus = new Estatus();
Estatus estatus2 = new Estatus();
EstatusController estatusController = new EstatusController();
Prioridad prioridad = new Prioridad();
Prioridad prioridad2 = new Prioridad();
PrioridadController prioridadController = new PrioridadController();
Proyectos proyectos = new Proyectos();
Proyectos proyectos2 = new Proyectos();
ProyectosController proyectosController = new ProyectosController();
Tipo tipo = new Tipo();
Tipo tipo2 = new Tipo();
TipoController tipoController = new TipoController();
Usuarios usuarios = new Usuarios();
Usuarios usuarios2 = new Usuarios();
UsuariosController usuariosController = new UsuariosController();
        Issues issues2 = new Issues(
         rs.getInt("idissues"),rs.getInt("idproyecto"),rs.getInt("numero"),rs.getString("titulo"),rs.getString("descripcion"),rs.getString("idtipo"),rs.getString("idprioridad"),rs.getDate("fecha"),rs.getString("hora"),rs.getString("username"),rs.getString("idestatus"),rs.getString("usernameasignado"));
            
    estatus.setIdestatus(rs.getString("idestatus"));
    prioridad.setIdprioridad(rs.getString("idprioridad"));
    proyectos.setIdproyecto(rs.getInt("idproyecto"));
    tipo.setIdtipo(rs.getString("idtipo"));
    usuarios.setUsername(rs.getString("username"));
            
  if(withRelation){
     estatus2 =  estatusController.findByPrimaryKey(estatus);
     if (estatus2== null) {
       //not found records 
     } else {
     estatus= estatus2;
     issues2.setEstatus(estatus);
       }
   }
  if(withRelation){
     prioridad2 =  prioridadController.findByPrimaryKey(prioridad);
     if (prioridad2== null) {
       //not found records 
     } else {
     prioridad= prioridad2;
     issues2.setPrioridad(prioridad);
       }
   }
  if(withRelation){
     proyectos2 =  proyectosController.findByPrimaryKey(proyectos);
     if (proyectos2== null) {
       //not found records 
     } else {
     proyectos= proyectos2;
     issues2.setProyectos(proyectos);
       }
   }
  if(withRelation){
     tipo2 =  tipoController.findByPrimaryKey(tipo);
     if (tipo2== null) {
       //not found records 
     } else {
     tipo= tipo2;
     issues2.setTipo(tipo);
       }
   }
  if(withRelation){
     usuarios2 =  usuariosController.findByPrimaryKey(usuarios);
     if (usuarios2== null) {
       //not found records 
     } else {
     usuarios= usuarios2;
     issues2.setUsuarios(usuarios);
       }
   }
       list.add(issues2);
    }
    rs.close();
    psquery.close();
    return list;
   } catch (Exception e) {
      excepcion = e;
   } finally {
  }
  return null;
}


/**
*
* findByIdtipo()
*/

public static List<Issues> findByIdtipo(Issues issues,boolean withRelation) {
  excepcion = null;
  try {
      esMensaje =false;

  con= dataGManager.getCon();
  if (con == null) {
      excepcion=new Exception(bundle.getString("msg.noconecction"));
      return null;
  }
        list = new ArrayList<>();
      String sql = "select * from issues where idtipo='"+issues.getIdtipo()+"'";
  PreparedStatement psquery = con.prepareStatement(sql,ResultSet.TYPE_SCROLL_INSENSITIVE,
                                      ResultSet.CONCUR_UPDATABLE);
   ResultSet rs = psquery.executeQuery();
   rs.next();
   int x = rs.getRow();
   if (x == 0) {
          excepcion=new Exception(bundle.getString("msg.nofoundrecords") + "issues" +"  "+ bundle.getString("msg.withcode"));
          esMensaje =true;
      rs.close();
      psquery.close();
      return null;
   }
   rs.beforeFirst();
   while (rs.next()) {
   
Estatus estatus = new Estatus();
Estatus estatus2 = new Estatus();
EstatusController estatusController = new EstatusController();
Prioridad prioridad = new Prioridad();
Prioridad prioridad2 = new Prioridad();
PrioridadController prioridadController = new PrioridadController();
Proyectos proyectos = new Proyectos();
Proyectos proyectos2 = new Proyectos();
ProyectosController proyectosController = new ProyectosController();
Tipo tipo = new Tipo();
Tipo tipo2 = new Tipo();
TipoController tipoController = new TipoController();
Usuarios usuarios = new Usuarios();
Usuarios usuarios2 = new Usuarios();
UsuariosController usuariosController = new UsuariosController();
        Issues issues2 = new Issues(
         rs.getInt("idissues"),rs.getInt("idproyecto"),rs.getInt("numero"),rs.getString("titulo"),rs.getString("descripcion"),rs.getString("idtipo"),rs.getString("idprioridad"),rs.getDate("fecha"),rs.getString("hora"),rs.getString("username"),rs.getString("idestatus"),rs.getString("usernameasignado"));
            
    estatus.setIdestatus(rs.getString("idestatus"));
    prioridad.setIdprioridad(rs.getString("idprioridad"));
    proyectos.setIdproyecto(rs.getInt("idproyecto"));
    tipo.setIdtipo(rs.getString("idtipo"));
    usuarios.setUsername(rs.getString("username"));
            
  if(withRelation){
     estatus2 =  estatusController.findByPrimaryKey(estatus);
     if (estatus2== null) {
       //not found records 
     } else {
     estatus= estatus2;
     issues2.setEstatus(estatus);
       }
   }
  if(withRelation){
     prioridad2 =  prioridadController.findByPrimaryKey(prioridad);
     if (prioridad2== null) {
       //not found records 
     } else {
     prioridad= prioridad2;
     issues2.setPrioridad(prioridad);
       }
   }
  if(withRelation){
     proyectos2 =  proyectosController.findByPrimaryKey(proyectos);
     if (proyectos2== null) {
       //not found records 
     } else {
     proyectos= proyectos2;
     issues2.setProyectos(proyectos);
       }
   }
  if(withRelation){
     tipo2 =  tipoController.findByPrimaryKey(tipo);
     if (tipo2== null) {
       //not found records 
     } else {
     tipo= tipo2;
     issues2.setTipo(tipo);
       }
   }
  if(withRelation){
     usuarios2 =  usuariosController.findByPrimaryKey(usuarios);
     if (usuarios2== null) {
       //not found records 
     } else {
     usuarios= usuarios2;
     issues2.setUsuarios(usuarios);
       }
   }
       list.add(issues2);
    }
    rs.close();
    psquery.close();
    return list;
   } catch (Exception e) {
      excepcion = e;
   } finally {
  }
  return null;
}


/**
*
* findByIdprioridad()
*/

public static List<Issues> findByIdprioridad(Issues issues,boolean withRelation) {
  excepcion = null;
  try {
      esMensaje =false;

  con= dataGManager.getCon();
  if (con == null) {
      excepcion=new Exception(bundle.getString("msg.noconecction"));
      return null;
  }
        list = new ArrayList<>();
      String sql = "select * from issues where idprioridad='"+issues.getIdprioridad()+"'";
  PreparedStatement psquery = con.prepareStatement(sql,ResultSet.TYPE_SCROLL_INSENSITIVE,
                                      ResultSet.CONCUR_UPDATABLE);
   ResultSet rs = psquery.executeQuery();
   rs.next();
   int x = rs.getRow();
   if (x == 0) {
          excepcion=new Exception(bundle.getString("msg.nofoundrecords") + "issues" +"  "+ bundle.getString("msg.withcode"));
          esMensaje =true;
      rs.close();
      psquery.close();
      return null;
   }
   rs.beforeFirst();
   while (rs.next()) {
   
Estatus estatus = new Estatus();
Estatus estatus2 = new Estatus();
EstatusController estatusController = new EstatusController();
Prioridad prioridad = new Prioridad();
Prioridad prioridad2 = new Prioridad();
PrioridadController prioridadController = new PrioridadController();
Proyectos proyectos = new Proyectos();
Proyectos proyectos2 = new Proyectos();
ProyectosController proyectosController = new ProyectosController();
Tipo tipo = new Tipo();
Tipo tipo2 = new Tipo();
TipoController tipoController = new TipoController();
Usuarios usuarios = new Usuarios();
Usuarios usuarios2 = new Usuarios();
UsuariosController usuariosController = new UsuariosController();
        Issues issues2 = new Issues(
         rs.getInt("idissues"),rs.getInt("idproyecto"),rs.getInt("numero"),rs.getString("titulo"),rs.getString("descripcion"),rs.getString("idtipo"),rs.getString("idprioridad"),rs.getDate("fecha"),rs.getString("hora"),rs.getString("username"),rs.getString("idestatus"),rs.getString("usernameasignado"));
            
    estatus.setIdestatus(rs.getString("idestatus"));
    prioridad.setIdprioridad(rs.getString("idprioridad"));
    proyectos.setIdproyecto(rs.getInt("idproyecto"));
    tipo.setIdtipo(rs.getString("idtipo"));
    usuarios.setUsername(rs.getString("username"));
            
  if(withRelation){
     estatus2 =  estatusController.findByPrimaryKey(estatus);
     if (estatus2== null) {
       //not found records 
     } else {
     estatus= estatus2;
     issues2.setEstatus(estatus);
       }
   }
  if(withRelation){
     prioridad2 =  prioridadController.findByPrimaryKey(prioridad);
     if (prioridad2== null) {
       //not found records 
     } else {
     prioridad= prioridad2;
     issues2.setPrioridad(prioridad);
       }
   }
  if(withRelation){
     proyectos2 =  proyectosController.findByPrimaryKey(proyectos);
     if (proyectos2== null) {
       //not found records 
     } else {
     proyectos= proyectos2;
     issues2.setProyectos(proyectos);
       }
   }
  if(withRelation){
     tipo2 =  tipoController.findByPrimaryKey(tipo);
     if (tipo2== null) {
       //not found records 
     } else {
     tipo= tipo2;
     issues2.setTipo(tipo);
       }
   }
  if(withRelation){
     usuarios2 =  usuariosController.findByPrimaryKey(usuarios);
     if (usuarios2== null) {
       //not found records 
     } else {
     usuarios= usuarios2;
     issues2.setUsuarios(usuarios);
       }
   }
       list.add(issues2);
    }
    rs.close();
    psquery.close();
    return list;
   } catch (Exception e) {
      excepcion = e;
   } finally {
  }
  return null;
}


/**
*
* findByFecha()
*/

public static List<Issues> findByFecha(Issues issues,boolean withRelation) {
  excepcion = null;
  try {
      esMensaje =false;

  con= dataGManager.getCon();
  if (con == null) {
      excepcion=new Exception(bundle.getString("msg.noconecction"));
      return null;
  }
        list = new ArrayList<>();
      String sql = "select * from issues where fecha='"+issues.getFecha()+"'";
  PreparedStatement psquery = con.prepareStatement(sql,ResultSet.TYPE_SCROLL_INSENSITIVE,
                                      ResultSet.CONCUR_UPDATABLE);
   ResultSet rs = psquery.executeQuery();
   rs.next();
   int x = rs.getRow();
   if (x == 0) {
          excepcion=new Exception(bundle.getString("msg.nofoundrecords") + "issues" +"  "+ bundle.getString("msg.withcode"));
          esMensaje =true;
      rs.close();
      psquery.close();
      return null;
   }
   rs.beforeFirst();
   while (rs.next()) {
   
Estatus estatus = new Estatus();
Estatus estatus2 = new Estatus();
EstatusController estatusController = new EstatusController();
Prioridad prioridad = new Prioridad();
Prioridad prioridad2 = new Prioridad();
PrioridadController prioridadController = new PrioridadController();
Proyectos proyectos = new Proyectos();
Proyectos proyectos2 = new Proyectos();
ProyectosController proyectosController = new ProyectosController();
Tipo tipo = new Tipo();
Tipo tipo2 = new Tipo();
TipoController tipoController = new TipoController();
Usuarios usuarios = new Usuarios();
Usuarios usuarios2 = new Usuarios();
UsuariosController usuariosController = new UsuariosController();
        Issues issues2 = new Issues(
         rs.getInt("idissues"),rs.getInt("idproyecto"),rs.getInt("numero"),rs.getString("titulo"),rs.getString("descripcion"),rs.getString("idtipo"),rs.getString("idprioridad"),rs.getDate("fecha"),rs.getString("hora"),rs.getString("username"),rs.getString("idestatus"),rs.getString("usernameasignado"));
            
    estatus.setIdestatus(rs.getString("idestatus"));
    prioridad.setIdprioridad(rs.getString("idprioridad"));
    proyectos.setIdproyecto(rs.getInt("idproyecto"));
    tipo.setIdtipo(rs.getString("idtipo"));
    usuarios.setUsername(rs.getString("username"));
            
  if(withRelation){
     estatus2 =  estatusController.findByPrimaryKey(estatus);
     if (estatus2== null) {
       //not found records 
     } else {
     estatus= estatus2;
     issues2.setEstatus(estatus);
       }
   }
  if(withRelation){
     prioridad2 =  prioridadController.findByPrimaryKey(prioridad);
     if (prioridad2== null) {
       //not found records 
     } else {
     prioridad= prioridad2;
     issues2.setPrioridad(prioridad);
       }
   }
  if(withRelation){
     proyectos2 =  proyectosController.findByPrimaryKey(proyectos);
     if (proyectos2== null) {
       //not found records 
     } else {
     proyectos= proyectos2;
     issues2.setProyectos(proyectos);
       }
   }
  if(withRelation){
     tipo2 =  tipoController.findByPrimaryKey(tipo);
     if (tipo2== null) {
       //not found records 
     } else {
     tipo= tipo2;
     issues2.setTipo(tipo);
       }
   }
  if(withRelation){
     usuarios2 =  usuariosController.findByPrimaryKey(usuarios);
     if (usuarios2== null) {
       //not found records 
     } else {
     usuarios= usuarios2;
     issues2.setUsuarios(usuarios);
       }
   }
       list.add(issues2);
    }
    rs.close();
    psquery.close();
    return list;
   } catch (Exception e) {
      excepcion = e;
   } finally {
  }
  return null;
}


/**
*
* findByHora()
*/

public static List<Issues> findByHora(Issues issues,boolean withRelation) {
  excepcion = null;
  try {
      esMensaje =false;

  con= dataGManager.getCon();
  if (con == null) {
      excepcion=new Exception(bundle.getString("msg.noconecction"));
      return null;
  }
        list = new ArrayList<>();
      String sql = "select * from issues where hora='"+issues.getHora()+"'";
  PreparedStatement psquery = con.prepareStatement(sql,ResultSet.TYPE_SCROLL_INSENSITIVE,
                                      ResultSet.CONCUR_UPDATABLE);
   ResultSet rs = psquery.executeQuery();
   rs.next();
   int x = rs.getRow();
   if (x == 0) {
          excepcion=new Exception(bundle.getString("msg.nofoundrecords") + "issues" +"  "+ bundle.getString("msg.withcode"));
          esMensaje =true;
      rs.close();
      psquery.close();
      return null;
   }
   rs.beforeFirst();
   while (rs.next()) {
   
Estatus estatus = new Estatus();
Estatus estatus2 = new Estatus();
EstatusController estatusController = new EstatusController();
Prioridad prioridad = new Prioridad();
Prioridad prioridad2 = new Prioridad();
PrioridadController prioridadController = new PrioridadController();
Proyectos proyectos = new Proyectos();
Proyectos proyectos2 = new Proyectos();
ProyectosController proyectosController = new ProyectosController();
Tipo tipo = new Tipo();
Tipo tipo2 = new Tipo();
TipoController tipoController = new TipoController();
Usuarios usuarios = new Usuarios();
Usuarios usuarios2 = new Usuarios();
UsuariosController usuariosController = new UsuariosController();
        Issues issues2 = new Issues(
         rs.getInt("idissues"),rs.getInt("idproyecto"),rs.getInt("numero"),rs.getString("titulo"),rs.getString("descripcion"),rs.getString("idtipo"),rs.getString("idprioridad"),rs.getDate("fecha"),rs.getString("hora"),rs.getString("username"),rs.getString("idestatus"),rs.getString("usernameasignado"));
            
    estatus.setIdestatus(rs.getString("idestatus"));
    prioridad.setIdprioridad(rs.getString("idprioridad"));
    proyectos.setIdproyecto(rs.getInt("idproyecto"));
    tipo.setIdtipo(rs.getString("idtipo"));
    usuarios.setUsername(rs.getString("username"));
            
  if(withRelation){
     estatus2 =  estatusController.findByPrimaryKey(estatus);
     if (estatus2== null) {
       //not found records 
     } else {
     estatus= estatus2;
     issues2.setEstatus(estatus);
       }
   }
  if(withRelation){
     prioridad2 =  prioridadController.findByPrimaryKey(prioridad);
     if (prioridad2== null) {
       //not found records 
     } else {
     prioridad= prioridad2;
     issues2.setPrioridad(prioridad);
       }
   }
  if(withRelation){
     proyectos2 =  proyectosController.findByPrimaryKey(proyectos);
     if (proyectos2== null) {
       //not found records 
     } else {
     proyectos= proyectos2;
     issues2.setProyectos(proyectos);
       }
   }
  if(withRelation){
     tipo2 =  tipoController.findByPrimaryKey(tipo);
     if (tipo2== null) {
       //not found records 
     } else {
     tipo= tipo2;
     issues2.setTipo(tipo);
       }
   }
  if(withRelation){
     usuarios2 =  usuariosController.findByPrimaryKey(usuarios);
     if (usuarios2== null) {
       //not found records 
     } else {
     usuarios= usuarios2;
     issues2.setUsuarios(usuarios);
       }
   }
       list.add(issues2);
    }
    rs.close();
    psquery.close();
    return list;
   } catch (Exception e) {
      excepcion = e;
   } finally {
  }
  return null;
}


/**
*
* findByUsername()
*/

public static List<Issues> findByUsername(Issues issues,boolean withRelation) {
  excepcion = null;
  try {
      esMensaje =false;

  con= dataGManager.getCon();
  if (con == null) {
      excepcion=new Exception(bundle.getString("msg.noconecction"));
      return null;
  }
        list = new ArrayList<>();
      String sql = "select * from issues where username='"+issues.getUsername()+"'";
  PreparedStatement psquery = con.prepareStatement(sql,ResultSet.TYPE_SCROLL_INSENSITIVE,
                                      ResultSet.CONCUR_UPDATABLE);
   ResultSet rs = psquery.executeQuery();
   rs.next();
   int x = rs.getRow();
   if (x == 0) {
          excepcion=new Exception(bundle.getString("msg.nofoundrecords") + "issues" +"  "+ bundle.getString("msg.withcode"));
          esMensaje =true;
      rs.close();
      psquery.close();
      return null;
   }
   rs.beforeFirst();
   while (rs.next()) {
   
Estatus estatus = new Estatus();
Estatus estatus2 = new Estatus();
EstatusController estatusController = new EstatusController();
Prioridad prioridad = new Prioridad();
Prioridad prioridad2 = new Prioridad();
PrioridadController prioridadController = new PrioridadController();
Proyectos proyectos = new Proyectos();
Proyectos proyectos2 = new Proyectos();
ProyectosController proyectosController = new ProyectosController();
Tipo tipo = new Tipo();
Tipo tipo2 = new Tipo();
TipoController tipoController = new TipoController();
Usuarios usuarios = new Usuarios();
Usuarios usuarios2 = new Usuarios();
UsuariosController usuariosController = new UsuariosController();
        Issues issues2 = new Issues(
         rs.getInt("idissues"),rs.getInt("idproyecto"),rs.getInt("numero"),rs.getString("titulo"),rs.getString("descripcion"),rs.getString("idtipo"),rs.getString("idprioridad"),rs.getDate("fecha"),rs.getString("hora"),rs.getString("username"),rs.getString("idestatus"),rs.getString("usernameasignado"));
            
    estatus.setIdestatus(rs.getString("idestatus"));
    prioridad.setIdprioridad(rs.getString("idprioridad"));
    proyectos.setIdproyecto(rs.getInt("idproyecto"));
    tipo.setIdtipo(rs.getString("idtipo"));
    usuarios.setUsername(rs.getString("username"));
            
  if(withRelation){
     estatus2 =  estatusController.findByPrimaryKey(estatus);
     if (estatus2== null) {
       //not found records 
     } else {
     estatus= estatus2;
     issues2.setEstatus(estatus);
       }
   }
  if(withRelation){
     prioridad2 =  prioridadController.findByPrimaryKey(prioridad);
     if (prioridad2== null) {
       //not found records 
     } else {
     prioridad= prioridad2;
     issues2.setPrioridad(prioridad);
       }
   }
  if(withRelation){
     proyectos2 =  proyectosController.findByPrimaryKey(proyectos);
     if (proyectos2== null) {
       //not found records 
     } else {
     proyectos= proyectos2;
     issues2.setProyectos(proyectos);
       }
   }
  if(withRelation){
     tipo2 =  tipoController.findByPrimaryKey(tipo);
     if (tipo2== null) {
       //not found records 
     } else {
     tipo= tipo2;
     issues2.setTipo(tipo);
       }
   }
  if(withRelation){
     usuarios2 =  usuariosController.findByPrimaryKey(usuarios);
     if (usuarios2== null) {
       //not found records 
     } else {
     usuarios= usuarios2;
     issues2.setUsuarios(usuarios);
       }
   }
       list.add(issues2);
    }
    rs.close();
    psquery.close();
    return list;
   } catch (Exception e) {
      excepcion = e;
   } finally {
  }
  return null;
}


/**
*
* findByIdestatus()
*/

public static List<Issues> findByIdestatus(Issues issues,boolean withRelation) {
  excepcion = null;
  try {
      esMensaje =false;

  con= dataGManager.getCon();
  if (con == null) {
      excepcion=new Exception(bundle.getString("msg.noconecction"));
      return null;
  }
        list = new ArrayList<>();
      String sql = "select * from issues where idestatus='"+issues.getIdestatus()+"'";
  PreparedStatement psquery = con.prepareStatement(sql,ResultSet.TYPE_SCROLL_INSENSITIVE,
                                      ResultSet.CONCUR_UPDATABLE);
   ResultSet rs = psquery.executeQuery();
   rs.next();
   int x = rs.getRow();
   if (x == 0) {
          excepcion=new Exception(bundle.getString("msg.nofoundrecords") + "issues" +"  "+ bundle.getString("msg.withcode"));
          esMensaje =true;
      rs.close();
      psquery.close();
      return null;
   }
   rs.beforeFirst();
   while (rs.next()) {
   
Estatus estatus = new Estatus();
Estatus estatus2 = new Estatus();
EstatusController estatusController = new EstatusController();
Prioridad prioridad = new Prioridad();
Prioridad prioridad2 = new Prioridad();
PrioridadController prioridadController = new PrioridadController();
Proyectos proyectos = new Proyectos();
Proyectos proyectos2 = new Proyectos();
ProyectosController proyectosController = new ProyectosController();
Tipo tipo = new Tipo();
Tipo tipo2 = new Tipo();
TipoController tipoController = new TipoController();
Usuarios usuarios = new Usuarios();
Usuarios usuarios2 = new Usuarios();
UsuariosController usuariosController = new UsuariosController();
        Issues issues2 = new Issues(
         rs.getInt("idissues"),rs.getInt("idproyecto"),rs.getInt("numero"),rs.getString("titulo"),rs.getString("descripcion"),rs.getString("idtipo"),rs.getString("idprioridad"),rs.getDate("fecha"),rs.getString("hora"),rs.getString("username"),rs.getString("idestatus"),rs.getString("usernameasignado"));
            
    estatus.setIdestatus(rs.getString("idestatus"));
    prioridad.setIdprioridad(rs.getString("idprioridad"));
    proyectos.setIdproyecto(rs.getInt("idproyecto"));
    tipo.setIdtipo(rs.getString("idtipo"));
    usuarios.setUsername(rs.getString("username"));
            
  if(withRelation){
     estatus2 =  estatusController.findByPrimaryKey(estatus);
     if (estatus2== null) {
       //not found records 
     } else {
     estatus= estatus2;
     issues2.setEstatus(estatus);
       }
   }
  if(withRelation){
     prioridad2 =  prioridadController.findByPrimaryKey(prioridad);
     if (prioridad2== null) {
       //not found records 
     } else {
     prioridad= prioridad2;
     issues2.setPrioridad(prioridad);
       }
   }
  if(withRelation){
     proyectos2 =  proyectosController.findByPrimaryKey(proyectos);
     if (proyectos2== null) {
       //not found records 
     } else {
     proyectos= proyectos2;
     issues2.setProyectos(proyectos);
       }
   }
  if(withRelation){
     tipo2 =  tipoController.findByPrimaryKey(tipo);
     if (tipo2== null) {
       //not found records 
     } else {
     tipo= tipo2;
     issues2.setTipo(tipo);
       }
   }
  if(withRelation){
     usuarios2 =  usuariosController.findByPrimaryKey(usuarios);
     if (usuarios2== null) {
       //not found records 
     } else {
     usuarios= usuarios2;
     issues2.setUsuarios(usuarios);
       }
   }
       list.add(issues2);
    }
    rs.close();
    psquery.close();
    return list;
   } catch (Exception e) {
      excepcion = e;
   } finally {
  }
  return null;
}


/**
*
* findByUsernameasignado()
*/

public static List<Issues> findByUsernameasignado(Issues issues,boolean withRelation) {
  excepcion = null;
  try {
      esMensaje =false;

  con= dataGManager.getCon();
  if (con == null) {
      excepcion=new Exception(bundle.getString("msg.noconecction"));
      return null;
  }
        list = new ArrayList<>();
      String sql = "select * from issues where usernameasignado='"+issues.getUsernameasignado()+"'";
  PreparedStatement psquery = con.prepareStatement(sql,ResultSet.TYPE_SCROLL_INSENSITIVE,
                                      ResultSet.CONCUR_UPDATABLE);
   ResultSet rs = psquery.executeQuery();
   rs.next();
   int x = rs.getRow();
   if (x == 0) {
          excepcion=new Exception(bundle.getString("msg.nofoundrecords") + "issues" +"  "+ bundle.getString("msg.withcode"));
          esMensaje =true;
      rs.close();
      psquery.close();
      return null;
   }
   rs.beforeFirst();
   while (rs.next()) {
   
Estatus estatus = new Estatus();
Estatus estatus2 = new Estatus();
EstatusController estatusController = new EstatusController();
Prioridad prioridad = new Prioridad();
Prioridad prioridad2 = new Prioridad();
PrioridadController prioridadController = new PrioridadController();
Proyectos proyectos = new Proyectos();
Proyectos proyectos2 = new Proyectos();
ProyectosController proyectosController = new ProyectosController();
Tipo tipo = new Tipo();
Tipo tipo2 = new Tipo();
TipoController tipoController = new TipoController();
Usuarios usuarios = new Usuarios();
Usuarios usuarios2 = new Usuarios();
UsuariosController usuariosController = new UsuariosController();
        Issues issues2 = new Issues(
         rs.getInt("idissues"),rs.getInt("idproyecto"),rs.getInt("numero"),rs.getString("titulo"),rs.getString("descripcion"),rs.getString("idtipo"),rs.getString("idprioridad"),rs.getDate("fecha"),rs.getString("hora"),rs.getString("username"),rs.getString("idestatus"),rs.getString("usernameasignado"));
            
    estatus.setIdestatus(rs.getString("idestatus"));
    prioridad.setIdprioridad(rs.getString("idprioridad"));
    proyectos.setIdproyecto(rs.getInt("idproyecto"));
    tipo.setIdtipo(rs.getString("idtipo"));
    usuarios.setUsername(rs.getString("username"));
            
  if(withRelation){
     estatus2 =  estatusController.findByPrimaryKey(estatus);
     if (estatus2== null) {
       //not found records 
     } else {
     estatus= estatus2;
     issues2.setEstatus(estatus);
       }
   }
  if(withRelation){
     prioridad2 =  prioridadController.findByPrimaryKey(prioridad);
     if (prioridad2== null) {
       //not found records 
     } else {
     prioridad= prioridad2;
     issues2.setPrioridad(prioridad);
       }
   }
  if(withRelation){
     proyectos2 =  proyectosController.findByPrimaryKey(proyectos);
     if (proyectos2== null) {
       //not found records 
     } else {
     proyectos= proyectos2;
     issues2.setProyectos(proyectos);
       }
   }
  if(withRelation){
     tipo2 =  tipoController.findByPrimaryKey(tipo);
     if (tipo2== null) {
       //not found records 
     } else {
     tipo= tipo2;
     issues2.setTipo(tipo);
       }
   }
  if(withRelation){
     usuarios2 =  usuariosController.findByPrimaryKey(usuarios);
     if (usuarios2== null) {
       //not found records 
     } else {
     usuarios= usuarios2;
     issues2.setUsuarios(usuarios);
       }
   }
       list.add(issues2);
    }
    rs.close();
    psquery.close();
    return list;
   } catch (Exception e) {
      excepcion = e;
   } finally {
  }
  return null;
}


/**
*
* locateByParameters()
*/

public static List<Issues> locateByParameters(Map parametros,boolean withRelation) {
  excepcion = null;
  try {
      esMensaje =false;

  con= dataGManager.getCon();
  if (con == null) {
      excepcion=new Exception(bundle.getString("msg.noconecction"));
      return null;
  }
       list = new ArrayList<>();
  String sql = "select * from issues";
  if (parametros != null) {
      Iterator it = parametros.entrySet().iterator();
      StringBuilder sb = new StringBuilder("");
      int i = 0;
      while (it.hasNext()) {
          if (i != 0){
            sb.append(" and ");
         }
         i++;
        Map.Entry e = (Map.Entry) it.next();
        sb.append(e.getKey() +"= '"+  e.getValue()+"'");
      }
      if (!sb.toString().equals("")){
         sql = sql + " where " + sb.toString();
      }
   }
  PreparedStatement psquery = con.prepareStatement(sql,ResultSet.TYPE_SCROLL_INSENSITIVE,
                                      ResultSet.CONCUR_UPDATABLE);
   ResultSet rs = psquery.executeQuery();
   rs.next();
   int x = rs.getRow();
   if (x == 0) {
          excepcion=new Exception(bundle.getString("msg.nofoundrecords") + "issues" +"  "+ bundle.getString("msg.withcode"));
          esMensaje =true;
      rs.close();
      psquery.close();
      return null;
   }
   rs.beforeFirst();
   while (rs.next()) {
   
Estatus estatus = new Estatus();
Estatus estatus2 = new Estatus();
EstatusController estatusController = new EstatusController();
Prioridad prioridad = new Prioridad();
Prioridad prioridad2 = new Prioridad();
PrioridadController prioridadController = new PrioridadController();
Proyectos proyectos = new Proyectos();
Proyectos proyectos2 = new Proyectos();
ProyectosController proyectosController = new ProyectosController();
Tipo tipo = new Tipo();
Tipo tipo2 = new Tipo();
TipoController tipoController = new TipoController();
Usuarios usuarios = new Usuarios();
Usuarios usuarios2 = new Usuarios();
UsuariosController usuariosController = new UsuariosController();
        Issues issues2 = new Issues(
         rs.getInt("idissues"),rs.getInt("idproyecto"),rs.getInt("numero"),rs.getString("titulo"),rs.getString("descripcion"),rs.getString("idtipo"),rs.getString("idprioridad"),rs.getDate("fecha"),rs.getString("hora"),rs.getString("username"),rs.getString("idestatus"),rs.getString("usernameasignado"));
            
    estatus.setIdestatus(rs.getString("idestatus"));
    prioridad.setIdprioridad(rs.getString("idprioridad"));
    proyectos.setIdproyecto(rs.getInt("idproyecto"));
    tipo.setIdtipo(rs.getString("idtipo"));
    usuarios.setUsername(rs.getString("username"));
            
  if(withRelation){
     estatus2 =  estatusController.findByPrimaryKey(estatus);
     if (estatus2== null) {
       //not found records 
     } else {
     estatus= estatus2;
     issues2.setEstatus(estatus);
       }
   }
  if(withRelation){
     prioridad2 =  prioridadController.findByPrimaryKey(prioridad);
     if (prioridad2== null) {
       //not found records 
     } else {
     prioridad= prioridad2;
     issues2.setPrioridad(prioridad);
       }
   }
  if(withRelation){
     proyectos2 =  proyectosController.findByPrimaryKey(proyectos);
     if (proyectos2== null) {
       //not found records 
     } else {
     proyectos= proyectos2;
     issues2.setProyectos(proyectos);
       }
   }
  if(withRelation){
     tipo2 =  tipoController.findByPrimaryKey(tipo);
     if (tipo2== null) {
       //not found records 
     } else {
     tipo= tipo2;
     issues2.setTipo(tipo);
       }
   }
  if(withRelation){
     usuarios2 =  usuariosController.findByPrimaryKey(usuarios);
     if (usuarios2== null) {
       //not found records 
     } else {
     usuarios= usuarios2;
     issues2.setUsuarios(usuarios);
       }
   }
       list.add(issues2);
    }
    rs.close();
    psquery.close();
    return list;
   } catch (Exception e) {
      excepcion = e;
   } finally {
  }
  return null;
}


/**
*
* Double func(String funcion, String campo)
*/



public static Double func(String funcion, String campo) {
  excepcion = null;
  try {
      esMensaje =false;

  con= dataGManager.getCon();
  if (con == null) {
      excepcion=new Exception(bundle.getString("msg.noconecction"));
      return 0.0;
  }
      String sql = "select "+funcion+"("+campo+") as contador from issues";
  PreparedStatement psquery = con.prepareStatement(sql,ResultSet.TYPE_SCROLL_INSENSITIVE,
                                      ResultSet.CONCUR_UPDATABLE);
   ResultSet rs = psquery.executeQuery();
   rs.next();
   int x = rs.getRow();
   if (x == 0) {
          excepcion=new Exception(bundle.getString("msg.nofoundrecords") + "issues" +"  "+ bundle.getString("msg.withcode"));
          esMensaje =true;
      rs.close();
      psquery.close();
      return 0.0;
   }
    Double tmp =0.0;
   rs.beforeFirst();
   while (rs.next()) {
    tmp =  rs.getDouble("contador");
    }
    rs.close();
    psquery.close();
 return tmp;
   } catch (Exception e) {
      excepcion = e;
   } finally {
  }
  return 0.0;
}


/**
*
* Double func(String funcion, String campo,String where)
*/



public static Double func(String funcion, String campo, String where) {
  excepcion = null;
  try {
      esMensaje =false;

  con= dataGManager.getCon();
  if (con == null) {
      excepcion=new Exception(bundle.getString("msg.noconecction"));
      return 0.0;
  }
      String sql = "select "+funcion+"("+campo+") as contador from issues where "+where +" ";
  PreparedStatement psquery = con.prepareStatement(sql,ResultSet.TYPE_SCROLL_INSENSITIVE,
                                      ResultSet.CONCUR_UPDATABLE);
   ResultSet rs = psquery.executeQuery();
   rs.next();
   int x = rs.getRow();
   if (x == 0) {
          excepcion=new Exception(bundle.getString("msg.nofoundrecords") + "issues" +"  "+ bundle.getString("msg.withcode"));
          esMensaje =true;
      rs.close();
      psquery.close();
      return 0.0;
   }
    Double tmp =0.0;
   rs.beforeFirst();
   while (rs.next()) {
    tmp =  rs.getDouble("contador");
    }
    rs.close();
    psquery.close();
 return tmp;
   } catch (Exception e) {
      excepcion = e;
   } finally {
  }
  return 0.0;
}


/**
*
* count()
*/



public static Integer count() {
  excepcion = null;
  try {
      esMensaje =false;

  con= dataGManager.getCon();
  if (con == null) {
      excepcion=new Exception(bundle.getString("msg.noconecction"));
      return 0;
  }
      String sql = "select count(*) as contador from issues";
  PreparedStatement psquery = con.prepareStatement(sql,ResultSet.TYPE_SCROLL_INSENSITIVE,
                                      ResultSet.CONCUR_UPDATABLE);
   ResultSet rs = psquery.executeQuery();
   rs.next();
   int x = rs.getRow();
   if (x == 0) {
          excepcion=new Exception(bundle.getString("msg.nofoundrecords") + "issues" +"  "+ bundle.getString("msg.withcode"));
          esMensaje =true;
      rs.close();
      psquery.close();
      return 0;
   }
     rs.beforeFirst();
     while (rs.next()) {
      x =  rs.getInt("contador");
    }
    rs.close();
    psquery.close();
 return x;
   } catch (Exception e) {
      excepcion = e;
   } finally {
  }
  return 0;
}


/**
*
* count(String sqlquery)
*/



public static Integer count(String sqlquery) {
  excepcion = null;
  try {
      esMensaje =false;

  con= dataGManager.getCon();
  if (con == null) {
      excepcion=new Exception(bundle.getString("msg.noconecction"));
      return 0;
  }
      String sql = "select count(*) as contador from issues where  " + sqlquery +"";
  PreparedStatement psquery = con.prepareStatement(sql,ResultSet.TYPE_SCROLL_INSENSITIVE,
                                      ResultSet.CONCUR_UPDATABLE);
   ResultSet rs = psquery.executeQuery();
   rs.next();
   int x = rs.getRow();
   if (x == 0) {
          excepcion=new Exception(bundle.getString("msg.nofoundrecords") + "issues" +"  "+ bundle.getString("msg.withcode"));
          esMensaje =true;
      rs.close();
      psquery.close();
      return 0;
   }
   rs.beforeFirst();
   while (rs.next()) {
    x =  rs.getInt("contador");
    }
    rs.close();
    psquery.close();
 return x;
   } catch (Exception e) {
      excepcion = e;
   } finally {
  }
  return 0;
}


/**
*
* query()
*/

public static List<Issues> query(String query,boolean withRelation) {
  excepcion = null;
  try {
      esMensaje =false;

  con= dataGManager.getCon();
  if (con == null) {
      excepcion=new Exception(bundle.getString("msg.noconecction"));
      return null;
  }
        list = new ArrayList<>();
  String sql = "select * from issues where " + query +"";
  if (query == null || query.equals("")) {
  return null;
   }
  PreparedStatement psquery = con.prepareStatement(sql,ResultSet.TYPE_SCROLL_INSENSITIVE,
                                      ResultSet.CONCUR_UPDATABLE);
   ResultSet rs = psquery.executeQuery();
   rs.next();
   int x = rs.getRow();
   if (x == 0) {
          excepcion=new Exception(bundle.getString("msg.nofoundrecords") + "issues" +"  "+ bundle.getString("msg.withcode"));
          esMensaje =true;
      rs.close();
      psquery.close();
      return null;
   }
   rs.beforeFirst();
   while (rs.next()) {
   
Estatus estatus = new Estatus();
Estatus estatus2 = new Estatus();
EstatusController estatusController = new EstatusController();
Prioridad prioridad = new Prioridad();
Prioridad prioridad2 = new Prioridad();
PrioridadController prioridadController = new PrioridadController();
Proyectos proyectos = new Proyectos();
Proyectos proyectos2 = new Proyectos();
ProyectosController proyectosController = new ProyectosController();
Tipo tipo = new Tipo();
Tipo tipo2 = new Tipo();
TipoController tipoController = new TipoController();
Usuarios usuarios = new Usuarios();
Usuarios usuarios2 = new Usuarios();
UsuariosController usuariosController = new UsuariosController();
        Issues issues2 = new Issues(
         rs.getInt("idissues"),rs.getInt("idproyecto"),rs.getInt("numero"),rs.getString("titulo"),rs.getString("descripcion"),rs.getString("idtipo"),rs.getString("idprioridad"),rs.getDate("fecha"),rs.getString("hora"),rs.getString("username"),rs.getString("idestatus"),rs.getString("usernameasignado"));
            
    estatus.setIdestatus(rs.getString("idestatus"));
    prioridad.setIdprioridad(rs.getString("idprioridad"));
    proyectos.setIdproyecto(rs.getInt("idproyecto"));
    tipo.setIdtipo(rs.getString("idtipo"));
    usuarios.setUsername(rs.getString("username"));
            
  if(withRelation){
     estatus2 =  estatusController.findByPrimaryKey(estatus);
     if (estatus2== null) {
       //not found records 
     } else {
     estatus= estatus2;
     issues2.setEstatus(estatus);
       }
   }
  if(withRelation){
     prioridad2 =  prioridadController.findByPrimaryKey(prioridad);
     if (prioridad2== null) {
       //not found records 
     } else {
     prioridad= prioridad2;
     issues2.setPrioridad(prioridad);
       }
   }
  if(withRelation){
     proyectos2 =  proyectosController.findByPrimaryKey(proyectos);
     if (proyectos2== null) {
       //not found records 
     } else {
     proyectos= proyectos2;
     issues2.setProyectos(proyectos);
       }
   }
  if(withRelation){
     tipo2 =  tipoController.findByPrimaryKey(tipo);
     if (tipo2== null) {
       //not found records 
     } else {
     tipo= tipo2;
     issues2.setTipo(tipo);
       }
   }
  if(withRelation){
     usuarios2 =  usuariosController.findByPrimaryKey(usuarios);
     if (usuarios2== null) {
       //not found records 
     } else {
     usuarios= usuarios2;
     issues2.setUsuarios(usuarios);
       }
   }
       list.add(issues2);
    }
    rs.close();
    psquery.close();
    return list;
   } catch (Exception e) {
      excepcion = e;
   } finally {
  }
  return null;
}


/**
*
* orderby()
*/

public static List<Issues> orderby(String query,boolean withRelation) {
  excepcion = null;
  try {
      esMensaje =false;

  con= dataGManager.getCon();
  if (con == null) {
      excepcion=new Exception(bundle.getString("msg.noconecction"));
      return null;
  }
        list = new ArrayList<>();
  String sql = "select * from issues order by " + query +"";
  if (query == null || query.equals("")) {
  return null;
   }
  PreparedStatement psquery = con.prepareStatement(sql,ResultSet.TYPE_SCROLL_INSENSITIVE,
                                      ResultSet.CONCUR_UPDATABLE);
   ResultSet rs = psquery.executeQuery();
   rs.next();
   int x = rs.getRow();
   if (x == 0) {
          excepcion=new Exception(bundle.getString("msg.nofoundrecords") + "issues" +"  "+ bundle.getString("msg.withcode"));
          esMensaje =true;
      rs.close();
      psquery.close();
      return null;
   }
   rs.beforeFirst();
   while (rs.next()) {
   
Estatus estatus = new Estatus();
Estatus estatus2 = new Estatus();
EstatusController estatusController = new EstatusController();
Prioridad prioridad = new Prioridad();
Prioridad prioridad2 = new Prioridad();
PrioridadController prioridadController = new PrioridadController();
Proyectos proyectos = new Proyectos();
Proyectos proyectos2 = new Proyectos();
ProyectosController proyectosController = new ProyectosController();
Tipo tipo = new Tipo();
Tipo tipo2 = new Tipo();
TipoController tipoController = new TipoController();
Usuarios usuarios = new Usuarios();
Usuarios usuarios2 = new Usuarios();
UsuariosController usuariosController = new UsuariosController();
        Issues issues2 = new Issues(
         rs.getInt("idissues"),rs.getInt("idproyecto"),rs.getInt("numero"),rs.getString("titulo"),rs.getString("descripcion"),rs.getString("idtipo"),rs.getString("idprioridad"),rs.getDate("fecha"),rs.getString("hora"),rs.getString("username"),rs.getString("idestatus"),rs.getString("usernameasignado"));
            
    estatus.setIdestatus(rs.getString("idestatus"));
    prioridad.setIdprioridad(rs.getString("idprioridad"));
    proyectos.setIdproyecto(rs.getInt("idproyecto"));
    tipo.setIdtipo(rs.getString("idtipo"));
    usuarios.setUsername(rs.getString("username"));
            
  if(withRelation){
     estatus2 =  estatusController.findByPrimaryKey(estatus);
     if (estatus2== null) {
       //not found records 
     } else {
     estatus= estatus2;
     issues2.setEstatus(estatus);
       }
   }
  if(withRelation){
     prioridad2 =  prioridadController.findByPrimaryKey(prioridad);
     if (prioridad2== null) {
       //not found records 
     } else {
     prioridad= prioridad2;
     issues2.setPrioridad(prioridad);
       }
   }
  if(withRelation){
     proyectos2 =  proyectosController.findByPrimaryKey(proyectos);
     if (proyectos2== null) {
       //not found records 
     } else {
     proyectos= proyectos2;
     issues2.setProyectos(proyectos);
       }
   }
  if(withRelation){
     tipo2 =  tipoController.findByPrimaryKey(tipo);
     if (tipo2== null) {
       //not found records 
     } else {
     tipo= tipo2;
     issues2.setTipo(tipo);
       }
   }
  if(withRelation){
     usuarios2 =  usuariosController.findByPrimaryKey(usuarios);
     if (usuarios2== null) {
       //not found records 
     } else {
     usuarios= usuarios2;
     issues2.setUsuarios(usuarios);
       }
   }
       list.add(issues2);
    }
    rs.close();
    psquery.close();
    return list;
   } catch (Exception e) {
      excepcion = e;
   } finally {
  }
  return null;
}


/**
*
* getListRecords()
*/

public static List<Issues> getListRecords(Map parametros,boolean withRelation) {
  excepcion = null;
  try {
      esMensaje =false;

  con= dataGManager.getCon();
  if (con == null) {
      excepcion=new Exception(bundle.getString("msg.noconecction"));
      return null;
  }
       list = new ArrayList<>();
  String sql = "select * from issues";
  if (parametros != null) {
      Iterator it = parametros.entrySet().iterator();
      StringBuilder sb = new StringBuilder("");
      while (it.hasNext()) {
        Map.Entry e = (Map.Entry) it.next();
        sb.append(e.getKey() +"="+  e.getValue());
      }
      if (!sb.toString().equals("")){
         sql = sql + " where " + sb.toString();
      }
   }
  PreparedStatement psquery = con.prepareStatement(sql,ResultSet.TYPE_SCROLL_INSENSITIVE,
                                      ResultSet.CONCUR_UPDATABLE);
   ResultSet rs = psquery.executeQuery();
   rs.next();
   int x = rs.getRow();
   if (x == 0) {
          excepcion=new Exception(bundle.getString("msg.nofoundrecords") + "issues" +"  "+ bundle.getString("msg.withcode"));
          esMensaje =true;
      rs.close();
      psquery.close();
      return null;
   }
   rs.beforeFirst();
   while (rs.next()) {
       
Estatus estatus = new Estatus();
Estatus estatus2 = new Estatus();
EstatusController estatusController = new EstatusController();
Prioridad prioridad = new Prioridad();
Prioridad prioridad2 = new Prioridad();
PrioridadController prioridadController = new PrioridadController();
Proyectos proyectos = new Proyectos();
Proyectos proyectos2 = new Proyectos();
ProyectosController proyectosController = new ProyectosController();
Tipo tipo = new Tipo();
Tipo tipo2 = new Tipo();
TipoController tipoController = new TipoController();
Usuarios usuarios = new Usuarios();
Usuarios usuarios2 = new Usuarios();
UsuariosController usuariosController = new UsuariosController();
        Issues issues2 = new Issues(
         rs.getInt("idissues"),rs.getInt("idproyecto"),rs.getInt("numero"),rs.getString("titulo"),rs.getString("descripcion"),rs.getString("idtipo"),rs.getString("idprioridad"),rs.getDate("fecha"),rs.getString("hora"),rs.getString("username"),rs.getString("idestatus"),rs.getString("usernameasignado"));
            
    estatus.setIdestatus(rs.getString("idestatus"));
    prioridad.setIdprioridad(rs.getString("idprioridad"));
    proyectos.setIdproyecto(rs.getInt("idproyecto"));
    tipo.setIdtipo(rs.getString("idtipo"));
    usuarios.setUsername(rs.getString("username"));
            
  if(withRelation){
     estatus2 =  estatusController.findByPrimaryKey(estatus);
     if (estatus2== null) {
       //not found records 
     } else {
     estatus= estatus2;
     issues2.setEstatus(estatus);
       }
   }
  if(withRelation){
     prioridad2 =  prioridadController.findByPrimaryKey(prioridad);
     if (prioridad2== null) {
       //not found records 
     } else {
     prioridad= prioridad2;
     issues2.setPrioridad(prioridad);
       }
   }
  if(withRelation){
     proyectos2 =  proyectosController.findByPrimaryKey(proyectos);
     if (proyectos2== null) {
       //not found records 
     } else {
     proyectos= proyectos2;
     issues2.setProyectos(proyectos);
       }
   }
  if(withRelation){
     tipo2 =  tipoController.findByPrimaryKey(tipo);
     if (tipo2== null) {
       //not found records 
     } else {
     tipo= tipo2;
     issues2.setTipo(tipo);
       }
   }
  if(withRelation){
     usuarios2 =  usuariosController.findByPrimaryKey(usuarios);
     if (usuarios2== null) {
       //not found records 
     } else {
     usuarios= usuarios2;
     issues2.setUsuarios(usuarios);
       }
   }
       list.add(issues2);
    }
    rs.close();
    psquery.close();
    return list;
   } catch (Exception e) {
      excepcion = e;
   } finally {
  }
  return null;
 }


}
